package com.dzj.fishingcommunity.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.Date;

/**
 * 评论索引表类，用于表示评论的基本信息
 */
@Data
@TableName("comment_index")
@Schema(description = "评论索引表类，用于表示评论的基本信息")
public class CommentIndex {
    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    @Schema(description = "主键ID")
    private Integer id;

    /**
     * 帖子ID
     */
    @TableField("post_id")
    @Schema(description = "帖子ID")
    private Integer postId;

    /**
     * 用户ID
     */
    @TableField("user_id")
    @Schema(description = "用户ID")
    private Integer userId;

    /**
     * 根评论ID（0表示是原始评论）
     */
    @TableField("root_comment_id")
    @Schema(description = "根评论ID（0表示是原始评论）")
    private Integer rootCommentId;

    /**
     * 父级ID（0表示是root根评论）
     */
    @TableField("parent_id")
    @Schema(description = "父级ID（0表示是root根评论）")
    private Integer parentId;

    /**
     * 点赞数
     */
    @TableField("like_count")
    @Schema(description = "点赞数")
    private Integer likeCount;

    /**
     * 是否删除（0表示未删除，1表示已删除）
     */
    @TableField("is_deleted")
    @Schema(description = "是否删除（0表示未删除，1表示已删除）")
    private Integer isDeleted;

    /**
     * 属性bit位（运营置顶1位，作者指定1位，作者点赞1位，作者回复过1位）
     */
    @TableField("attributes")
    @Schema(description = "属性bit位（运营置顶1位，作者指定1位，作者点赞1位，作者回复过1位）")
    private Integer attributes;

    /**
     * 创建时间
     */
    @TableField("created_at")
    @Schema(description = "创建时间")
    private Date createdAt;

    /**
     * 更新时间
     */
    @TableField("updated_at")
    @Schema(description = "更新时间")
    private Date updatedAt;
}